home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / hcdemo.zip / HCDEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1993-01-04  |  3KB  |  98 lines

  1. {
  2.  Hardcopy demo for the unit PRNTSCR.
  3.  
  4.  Part of the PRNTSCR unit source code was taken from Capt Antonio Rivera's
  5.  HRDCPY.ARC procedure for the Proprinter.
  6.  
  7.  Other parts were taken from the original Borland HardCopy procedure and
  8.  modified for TP4.
  9.  
  10.  I wish to thank the Sysops amd Tech people at Borland for the excellent
  11.  help they have provided. Especially John Sieraski for his SetBinBit
  12.  procedure.
  13.  
  14.  I also wish to absolve them of any blame for mistakes I might have made in
  15.  this program.
  16.  --------------------------------------------------------------------------
  17.  
  18.  First compile PRTSCR with
  19.  TPC PRNTSCR
  20.  
  21.  Then compile HCDEMO with
  22.  TPC HCDEMO
  23.  
  24.  The PRNTSCR unit will print upright or sideways print on the following
  25.  printers:
  26.  
  27.  Epson MX/FX/RX
  28.  IBM Proprinter
  29.  Okidata 84
  30.  
  31.  Comments are welcome:
  32.  
  33.  Jerry Adkins
  34.  P.O. Box 1160
  35.  Rialto, CA 92376
  36.  
  37.  Compuserve ID 70455,112
  38.  
  39. }
  40. Program HcDemo;
  41. Uses
  42.    DOS,
  43.    CRT,
  44.    Graph,
  45.    Printer,
  46.    PrntScr;
  47.  
  48. Const
  49.    Inverse = False; { Assume no inverse printing }
  50.  
  51. Var
  52.    Mode  : Integer;      { Which print mode? Depends on printer. }
  53.    Start : Integer;      { Initialize printier or not. This is used in one of
  54.                            my programs that prints a screen full of graphics,
  55.                            then another screen without initializing the
  56.                            printer the second time. }
  57.  
  58.    PrnType : Integer;    { 1 = Proprinter
  59.                            2 = Epson
  60.                            3 = Okidata }
  61.  
  62.    Gd : Integer; { Graph Driver }
  63.  
  64.    Upright : Boolean;    { Upright or sideways print? }
  65.  
  66.    Ch : Char;            { For ReadKey }
  67.  
  68. {$I GrInit.Inc}
  69.  
  70. Begin
  71.    ClrScr;
  72.  
  73.    Repeat
  74.       Gotoxy(20,10);
  75.       Write('Printer type: 1=Proprinter  2=Epson  3=Okidata ');
  76.       Readln(PrnType); { Use a better input routine in your program. }
  77.    Until PrnType in [1..3];
  78.  
  79.    Mode := 1;  { Change to experiment with other modes. }
  80.    Start := 0; { Assume only one screen to print }
  81.    Initialize(Gd);       { Graphics }
  82.    SetFillStyle(3,White);
  83.    Bar(200,5,400,300);
  84.    SetTextStyle(DefaultFont,HorizDir,1);
  85.    OutTextXY(100,330,'Upright graph. Switch printer on. Press any key...');
  86.    Ch := ReadKey;
  87.    Upright := True;
  88.    hardcopy(Inverse,Mode,PrnType,Start,Upright);
  89.    ClearDevice;
  90.    Bar(200,5,400,300);
  91.    SetTextStyle(DefaultFont,HorizDir,1);
  92.    OutTextXY(100,330,'Sideways graph. Switch printer on. Press any key...');
  93.    Ch := ReadKey;
  94.    UpRight := False;
  95.    hardcopy(Inverse,Mode,PrnType,Start,Upright);
  96.    CloseGraph;
  97. end.
  98.